When flash illumination is used to photograph humans, the pupils of the humans sometimes appear red. This phenomena is called “redeye” and reduces the quality of an image. Redeye is caused by red light reflecting off of the eye's retina and then exiting the eye through the pupil and returning to the camera.
Many algorithms have been proposed to correct redeye, with the goal of generating an improved image where the pupils appear natural. In some cases, an operator manually paints the redeye portion of a photographic print with a black marker. While this method is effective, it is clearly labor-intensive and not suited for high speed photofinishing or for digital systems where images are viewed on monitors or projected onto screens.
The detection of redeye can be either manual (i.e. with human intervention) or automatic (without human intervention). In either case, the detected redeye defects must undergo a correction to improve the image quality. There are primarily two aspects to the correction. The first is determining precisely which image pixels need to undergo color modification. The second is to determine the process by which the color of those pixels will be modified to improve the image. Errors in either aspect can produce objectionable corrections in a processed image.
In U.S. Pat. No. 5,432,863, the color of the affected pixels is modified by desaturating the redeye pixels and reducing the pixel lightness. However this correction is incomplete because the saturation and lightness of a redeye affected pixel are not independent. As a result, redeye defects corrected with this method sometimes appear too light or too dark. In addition, this method has the disadvantage that glint pixels must be separately identified and corrected.
In PCT patent publication WO 9917254, the color of a redeye affected pixel is replaced with a value based on a weighted function of the minimum of the R, G, and B color components. This method can also result in a non-optimal redeye correction since the green channel can have some sensitivity to the red light reflecting from a human eye. This method allows the possibility that the corrected region may appear noisy due to the fact that the correction may be switching based on the color component value that happens to be a pixel's minimum.
It is often the case that the boundary of a redeye defect is not well defined. For this reason, it is easy for an automatic algorithm to mistakenly either miss pixels that should be considered redeye or include pixels that are not really redeye when determining the redeye defect pixels. When coupled with defect correction, these misclassifications can produce objectionable artifacts. An under-correction occurs when some redeye pixels are correctly identified and color corrected, but others are not. As a result, a portion of the human subject's pupil can still appear objectionably red. An over-correction occurs when non-redeye pixels are mistakenly considered to be redeye, and the color modification is applied. As a result, a non-pupil portion of the human's face (e.g. the eyelid) can be modified by the color correction normally applied to redeye pixels, resulting in a very objectionable artifact.
Finally, some kind of blending is generally required in order to blend the corrected pixels with neighboring pixels of the original image without producing unnatural harsh edges. For example, in U.S. patent application Publication No. 2003/0007687A1 there is described using a blending filter. However, if the blending filter is of uniform size for all images, then some (e.g. small) human faces having redeye defects may appear to be over smoothed, causing objectionable blurriness. Meanwhile other human faces (e.g. large) human faces may appear to be not blurred enough. In U.S. patent application Publication No. 2003/0007687A1, there is described an operator control for controlling the level of blending. While this may be effective, it is not efficient to require an operator to make this adjustment for optimal results.
It would thus be desirable to provide methods, products, and systems redeye correction that deals with overcorrection and undercorrection and can, optionally provide blending.